package org.zpmis.domain.user.vo;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.zpmis.domain.role.model.SysMenu;
import org.zpmis.domain.role.vo.SysMenuListVo;

import java.util.List;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class LoginVo {
    /**
     * 用户ID
     */
    private Long id;

    /**
     * 用户名
     */
    private String userName;

    /**
     * 用户姓名
     */
    private String name;

    /**
     * 所属企业id
     */
    private Long companyId;
    /**
     * 用户拥有的菜单
     */
    private List<SysMenuListVo> sysMenuList;

    /**
     * 用户权限
     */
    private List<String> authorities;

    /**
     * 用户角色
     */
    private List<String> roles;
    /**
     * 用户登录类型  1小程序登录  2后台管理登录
     */
    private String loginType;

    /**
     * 账户是否过期
     */
    private boolean isAccountNonExpired = false;
    /**
     * 账户是否被锁定
     */
    private boolean isAccountNonLocked = false;
    /**
     * 证书是否过期
     */
    private boolean isCredentialsNonExpired = false;
    /**
     * 账户是否有效
     */
    private boolean isEnabled = true;

    /**
     * 企业用户类型 1企业2代理商3代理下企业
     */
    private Integer userType;


}
